package tech.aistar.corejava.day03;

/**
 * @author success
 * @version 1.0
 * @description:本类用来演示:Binary - 二进制
 *                             HexString - 十六进制
 *                             OctalString - 八进制
 * @date 2019/7/17 0017
 */
public class BinaryDemo {
    public static void main(String[] args) {
        int a = 10;

        //定义一个字符串,用来拼接余数
        String str = "";

        //定义一个变量,用来统计二进制最精简的位数

        int count = 0;

        while(true){
            //求出商
            int s = a / 2;
            //求出余数
            int y = a % 2;

            //计数
            count++;

            //0 1 0 1
            str = y + str;//

            //循环退出的条件
            if(s == 0){
                break;
            }
            //下一次的a是上一次的商
            a = s;
        }
        System.out.println(str);
        System.out.println("位数:"+count);

        //定义一个字符串,用来拼接"0"
        String zero = "";

        //定义一个变量,用来判断每8个,加一个空格的计数器
        int m = 0;

        //拼接0
        for (int i = 1; i <= 32 - count; i++) {
            zero+="0";//zero = zero + "0";

            m++;

//            if(m%8 == 0){
//                zero+=" ";
//            }
            if(m == 8){
                zero+=" ";
                m = 0;
            }
        }

        System.out.println(zero+str);
    }
}
